#include "head.h"

void test_2(char *str1, char *str2)
{
    int sockfd; // 客户端套接字
    int i = 0;
    int len = 0;
    char buf[36] = {0};
    char buf_1[5] = {0};
    char buf_2[36] = {0};
    struct sockaddr_in server = {AF_INET}, get;

    sockfd = socket(AF_INET, SOCK_STREAM, 0); // 1.创建客户端套接字
    if (sockfd == -1)
    {
        perror("socket");
        close(sockfd);
        exit(-1);
    }

    server.sin_port = htons(atoi(str2)); // 2.指定地址信息
    server.sin_addr.s_addr = inet_addr(str1);
    len = sizeof(struct sockaddr_in);

    if (-1 == connect(sockfd, (struct sockaddr *)&server, len))
    { // 3.发起网络连接，连接服务器
        perror("connect");
        close(sockfd);
        exit(-1);
    }
    printf("已成功与[%s,%s]建立连接\n", str2, str1);

    recv(sockfd, buf, sizeof(buf) - 1, 0);
    printf("%s\n", buf); // 连接后接受到欢迎访问服务器

    int j = 0;
    while (1)
    {
        j = menu(sockfd);
        if (j != 0)
        {
            break;
        }
    }
    if (j == 5) // 登录成功后，进入文件功能选项
    {
        while (1)
        {
            i = domenu();
            if (i == 3)
                break;
            sprintf(buf_1, "%d", i);
            if (-1 == send(sockfd, buf_1, sizeof(buf_1), 0)) // 发送要进行功能
            {
                perror("send");
                close(sockfd);
                exit(-1);
            }
            recv(sockfd, buf_2, sizeof(buf_2), 0);
            printf("%s\n", buf_2);
            if (i == 1)
            {
                get_file(sockfd);
            }
            else if (i == 2)
            {
                set_file(sockfd);
            }
            else if (i == 4)
            {
                look_dir(sockfd);
            }
            else if (i == 9)
            {
                if (user_modfiy(sockfd) == 1)
                {
                    printf("退出程序\n");
                    break;
                }
                else if (i == 0)
                {
                    printf("操作失败\n");
                }
                else
                {
                }
            }
        }
    }

    close(sockfd);
}